
Changes in 2.0.0 .10     (07 dec 2024)
====================

* Language files (.lng) ready to be translated/updated. They reflect changes since last available .lng files (v.1.7.8.1)
  See https://github.com/dpradov/keynote-nf/discussions/752 (Translating KeyNote NF)


-----------------------
Fixes and Misc. changes
=======================

* Fixed: After exiting the Find window (Ctrl+F) with ESC, "Find All" did not return all results.
  The UserBreak marked by ESC was not cleared and after the first search on the first note,
  the "Find All" procedure was closed (because UserBreak was True)
* Fixed: Find Next could incorrectly select the first pattern found in a note with images (when traversing from another node)
* Fixed: Replace All could apply the replacement at an offset position when traversing from another node, 
  if the current node has images

* Fixed: ClipCap with "Create a new node and paste into it" when copying from Scratchpad
  Only first copy from Scratchpad was considered. Only after exiting and returning focus to
  Scratchpad editor the next copy from Scratchpad was included. And so on.

* Fixed: Changing the image storage mode on a new, not yet saved file, throws an exception

* Fixed: Error when trying to "relocate" an external storage image of type ZIP
* Fixed: Ensured consistency between external storage type and presence or absence of .zip extension
        (Changing from "Folder" to "ZIP" without adding the extension could cause issues)

* Fixed: Merge folder with images on file with EmbeddedRTF mode
  When importing folders from a .knt file (with Tools\Merge Folders...) the images of the imported
  file were lost if the image storage mode of the target .knt file was EmbRTF and the source file's mode
  was different (like EmbKNT, ExtFolder, ..)

* Fixed: Included 'KeyNote files' in drop-down list from File|Import...  Ref: #724

* Fixed: Scrollbar position could be forgotten when returning to app with Hotkey (Ctrl+Shift+...) Ref: #720
  Fixed a strange behavior of the RichEdit control when the application is restored through a Hotkey
  of the form CTRL+SHIFT+...
  The editor ended up receiving an EN_CHANGE message and the Change method of the control was called.
  "Modified" property of the editor was changed to True (at least in W10, not in W11), and the position
  of the scrollbar was lost, thus displaying the cursor position.
  With another type of Hotkey combination it didn't happen (e.g. ALT+F7)

* Fixed: Don't try to auto-close new (not yet saved) files

* Optimization of Tree width expansion

* Fixed: Option. "Show tooltips in tree" was ignored

* Fixed: Format | Background Color - it was changing the background color of a node's editor but *also* the default color.

* Fixed: It is now possible to obtain the same behavior through the Paste Special button with the use of
  Ctrl, Shift or Alt, in the Scratchpad editor as in the rest of the editors.

* Disabled by now the behavior associated to FixScrollBars option. It's problematic with current tree control (VirtualTree)

* Fixed: Last export format (from tree context panel -> Export...) is updated in .ini (KeyOptions.LastExportFormat)

* Fixed: No way to expand dropdown controls using keyboard
   The Alt+Down shortcut (usually assigned to Navigate Down in KeyNote) will only be enabled when the tree or editor
   (including scratchpad) has focus.
   This way, it can be used to expand drop-down controls like "Text to Find", Zoom, or Styles, when they are focused.
   Ref: #549

* Fixed: Main toolbar position was ignored when opening application
  Problem was related to the use of TIniFile by the control Toolbar97. Changing to TMemIniFile solves the problem

* Fixed: Allow the use of Shift+TAB to move focus to tree in read-only folders.

* Fixed: Shift+Tab in Scratchpad editor: If there is nothing to unindent, focus is set to Note Editor

* Added: Pressing Ctrl+\ in the Scratchpad editor will switch focus to the Notes Editor

* Fixed: hyperlinks without explicit protocol and with @ character were always interpreted as emails (mailto:...)
  Consider this case: "D:\@Developers\Path\file.txt"

* Fixed: Allow use of UTF8 text in Lang\keynote.lan (and so in the language name list)

* Fixed: Translation of some drop-down lists was ignored

* Converted the texts displayed in the Help buttons of the Folder Properties dialog box to resource strings
  To allow their translation

* Fixed: When another app modified the knt file, it could be marked as Modified before asking 'Reload the file from disk?'

* Fixed: Alarms. Adjusted calendar control to required size based on locale
  The Arabic calendar, for example, can be much wider than the Gregorian calendar used
  with the Spanish or English regional settings.

* Fixed: Exception in some systems with non-Gregorian calendar (ECommonCalendarError)
  There is a bug in Delphi, and it does not handle certain calendars correctly, such as the Um-Al-Qura Calendar
  used in Saudi Arabia.
  This error appears in previous versions of KeyNote, such as 1.9.5.2, when opening the alarms window,
  but since TDateTimePicker controls have been incorporated into the search panel, the error can directly
  prevent the application from opening.

* Changed fonts in Main window from MS Sans Serif to Tahoma
  Changed default fonts, in tree and editor, to Tahoma 11

- - -
* NEW: It is possible to copy and paste selected images and text together from web browser
* Fixed: When pasting from browsers other than Firefox (such as Edge or Chrome), some formatting styles are ignored.

* Added caption to image pasted from web page, if available
* Fixed: Adjustments in "Paste external as Plain Text" / Plain text / Normal

- - -
* When exporting to plain text using the "Show hidden marks and IDs" option, the GID value is now shown first and then the ID value
 (ID: when it exists, as it is a node created with a version prior to 1.9.3.1)
	Example:
	My node name [5](id:3)        <- GID:5   ID:3
	My node name [13]             <- GID:13

  * Tree | Save Tree to file... With Ctrl -> now show GID and ID (if <> 0)

* Added new RTF export option (Save images in default WordPad format)  [RTFImgsWordPad=False]
  Added checkbox in Options tab, "Save images in default WordPad format"
  If *not* checked, use optimized formats (instead of always ifWmetafile8); WordPad will prompt you to unblock to display images. Word will not
  (More info in Help: ImgFormatsInsideRTF / 'Images management. Implementation in RTF')

  Tree panel context menu "Export..." will also use that new option, when exporting current node's content
  (or current node's selection)

- - -
* Improvements and fixes to color selection buttons
  - A wider range of colors is available in the swatches panel 
  - Info of color is shown as hints, names or RGB
  - Selection with 'Other colors' button is also saved
  - Buttons are now displayed next to the 'Copy Format' button 
  - Fixed: Removed 'no color' (shown as black) included as the first box  (Ref: #605)
  - Fixed: The panel with the color swatches is now displayed correctly even if KNT 
           is set to 'Always on Top'
  - Fixed: 'Default' text color was reflected in toolbar button when selecting folder
            but not after changing it in folder properties

- - -
* Change in behavior of ESC in the Scratch window
  Pressing ESC in Scratchpad editor will minimize the application and not return focus to note editor,
  *if* [Configuration Options|General settings|Program hotkey | On Escape key = Minimize Main Window].
  If 'On Escape' is not configured in that way, pressing ESC will focus the note editor, as before.

  See the reasons in discussion "Pressing ESC in Scratchpad editor" (#744)
  You can indicate whether you think this change is correct or not in the poll provided.

- - -
* (Accessibility) Added new .INI option, to facilitate reading Hints through the status bar

  It is not the best solution but for now I have not managed to find a reasonable way to offer through
  accessibility (IAccessibity) the hints that the application shows through the multiple controls that
  it has.
  For now and given that when the status bar is visible the hints are shown in one of its panels,
  and having verified that readers such as NVDA offer key combinations to read the content of the status
  bar, I have seen it convenient (using the new option) to make all the text panels of the status bar,
  except for the one corresponding to the Hint, be shown empty, so that the screen reader can directly
  read the text (the hint) without having to previously read all the other panels, which include the file
  name, cursor position, file modification status, etc.
  For example, the NVDA reader allows reading the status bar with the combination [NVDA]+End.

  The option is "HintsAccesible". Just add it to the .INI file in the [KeyOptions] section.
  If it is not added (default situation), or is set to zero, the behavior will be the same as always.
  To obtain the new behavior, it must be added and set to 1. Ex:

  [KeyOptions]
  HintsAccesible=1

  NVDA (Non-Visual Desktop Access) allows blind and vision impaired people to access and interact with
  the Windows operating system and many third party applications.


====================================
IMPORTANT rework and refactorization:

* Modified the model to allow the incorporation of new functionalities. Initially, approximately the same functionality
  has been maintained (with some improvements) but on the new model. Improvements will be added little by little.
 - The new model is supported for now mainly by the following classes: TNote, TNoteNode, TNoteEntry, TKntFolder, TKntFile
 - Notes (TNote) are independent of folders (TKntFolder), and can appear in 0 or N folders in the form of nodes (TNoteNode),
   thus being visible in their corresponding trees. The same note can be referenced in multiple places in any folder.
   The new nodes (TNoteNode) allow to manage in a cleaner and simpler way what were called mirror nodes. Now there is
   no difference between the nodes, they are all NNodes. Those nodes that are not the only ones associated with its note
   are simply highlighted as "Linked nodes". From the context menu it is possible to go through all the linked NNodes.
 - A note may have multiple entries, each with its creation date, tags, content type (plain text or RTF), etc. A specific
   control associated with the notes will be created that will take advantage of these features.
   
  **IMPORTANT** :
 - From the new version of KeyNote NF you will still be able to load files from previous versions, but the new saved files
   can only be opened with the new versions. The internal format will go from 2.1 to 3.0

* Replaced TTreeNT with Virtual-TreeView https://github.com/JAM-Software/Virtual-TreeView.git

* This change (coupled with the indicated change of the model) has forced a major revision of a lot of code (*many* hours
  of work). It will allow many improvements to be incorporated into the interface. For now, with the help of this new
  library and the changes to the model, the following improvements have been added:


-----------------------
NOTES. Format. Metada
=======================

* Each note will now be saved in its own format, not the one indicated by the folder, which is only used as the default
 format for new empty notes. Furthermore, if we drag a file, the necessary format, txt or rtf, will be respected.
 - It will soon be possible to switch between txt and rtf formats within individual notes (and entries), as well as
   set other note-level properties (read-only, encrypted)
   
* It is now allowed to toggle between RTF and Plain text only in active note (individually)
  A new option has been added to the editor's context menu
  It should be noted that the "Plain text only" option defined at Folder is now "*Default* plain text only". New notes 
  in the folder defaults to that value. It is possible to combine RTF and Plain text notes in the same folder.

* Minor layout adjustment in Folder properties, Default settings (F4) (F6)
 - "plain text only" becomes simply a default value. The red warning is removed... (ALL FORMATTING will be REMOVED)
 - Removed "Append sequential number" option in F4 | Tree settings (I see it as unnecessary, but if someone reports
   that they see it as important, I will consider reinstating it).
 - The order of the tabs in Folder properties has been swapped, to match the layout in the app. Now:
   Tree settings, Editor settings

* Note Editor refactoring -> TKntNoteUI
  Created a new class (TKntNoteUI) to tend to centralize the UI management of a note.
  For the moment it will still assume that there is only an entry in the note,
  but later this class will include new funcionality related to the existence
  of several entries in a note, tags, related resources, etc.

* Added editor information panel
  A panel showing the name of the note and the creation date (of the entry --for now equal to the creation of the note)
  has been already included.
  This panel is similar to the one requested in issue #704 (Node Information Panel)
  The name of the note can be modified directly from that top panel. The hints on the name an creation date display 
  more information: path of the node and instant of last modification in the note.

  * Added a menu entry to allow showing or hiding the editor information panel (View | Editor Info)
    The state will be saved in the file, per folder (like tree visibility)
    When you create a new folder, the initial visibility of the editor information panel will
    be the same as that of the active folder.
	* Ctrl+Click in View|Editor Info : Apply the change (make it visible or hidden) to all folders in the file

  * Added a .INI option to change the position of the editor info panel (top or bottom) (Default: Bottom)
    EditorInfoPanelTop: 0
      0 => Bottom
      1 => Top

- - - 
* Added menu entries to deduce missing date information and optionally removing date prefixes from node names

  * Deduce [missing] date information (in Tools)
    - - - - - - - - - - - - - - - - - -
	KeyNote can search and register missing note dates: creation and last modified
    If one note already has creation date registered, it will be ignored (except if command executed with CTRL)

    It will act on nodes of active folder.

    + It will search in node name, according to defined 'Default Name for New nodes', if includes '%D' token
      It will try to identify the date using the format defined in configuration options (Advanced/Formats/Date format).

       Ex: If Default Name for New nodes = '(%D) - ' and Date format = 'dd MMM yy'
         "(05 oct. 16) - Node A"   => Creation date: 05/10/16

        * You should ensure the correct values for folder config ('Default Name for New nodes') and
          Advanced/Formats (Date format).

        - Besides trying with the date format configured in Configuration Options, KeyNote will also automatically try
          with default regional short date (usually 'dd/mm/yy' or 'mm/dd/yy') and even some long formats, like:

            "domingo, 20 de octubre de 2022"
            "monday, february 1, 2021"
            "domingo, 20 de octubre de 2022 - 21:12"

         - It will also attempt to automatically handle short month names that include "." and without it.
           "(05 oct 16) ..."
           "(05 oct. 16) ..."

    + It will search for dates also in the note's content, looking for lines that include only date (and optionally time).
      If several matches founded, the oldest date will be used as creation date and the most recent date as the last modification
      date

          Line 1, bla, bla, ... 07/09/16 ...
          ...
          05 oct. 16 - 20:15
          - - - - - - - - -
          ...
          31/12/18 15:00

       => Creation date:     05/10/16 20:15
       => Last modification: 31/12/18 15:00

      - Note: Date found in note name will have priority as Creation date over dates found in note content.

  * Remove date prefixes from node names (in Tools)
    - - - - - - - - - - - - - - - - - -
    Optionally, KeyNote can attempt to remove dates used as prefixes in note names.
    Eg.  "(05 oct. 16) - Node A"  (and '(%D) - ')  => New name: "Node A"

    This command will also previously identify (and register) any missing dates

  ** If there are nodes selected (1 or more) when you execute any of this commands, it will be applied only to those node.
     Otherwise all the notes in the folder will be considered.



----------------
TREE PANEL
================
* Tree | Outline Numbering...
 - Completely reviewed. Now allows automatic renaming/renumbering.
 - Possible to establish independent sub-trees
 - The node names (notes) are not altered. It is simply possible to decide to show a numbering as a prefix, etc.
   It can be reversed at any time.

- - -
* Actions on tree:
  - Node color (text or background) can be changed on all selected tree nodes and optionally recursively on child nodes 
    by pressing the Shift key. Also applies to reset to default values (Ctrl+D)
  - When changing node font face in tree, all selected tree nodes will be modified,
    also optionally recursively in children nodes if Shift is pressed.
  - "Custom icon..." is now applied to all selected tree nodes, also optionally recursively in children nodes
     if indicated in dialog.
  - Bold attribute is now applied to all selected tree nodes, also optionally recursively in children nodes if Shift is pressed.
    Modified the tooltip in the "Bold" action of the tree panel
  - It is now possible to move multiple selected nodes (up, down, left or right) at the same time.
  - It is now possible to delete multiple selected nodes at the same time. You can also delete only child nodes of selected nodes

  - Copy / Paste and Drag and Drop: 
    It is possible to move or copy (or create link nodes - previously 'mirror nodes')
    multiple nodes / subtrees at the same time, within the same tree or between different trees. When you drag to
    another tab, it will be activated and can be dropped at an exact position within the tree, dropping into a node
    or just above or below
   * It is now also possible to drag files from the file system to exact positions in any tree.
   * It is possible to indicate whether you want to copy, move or create linked nodes while dragging, by holding
     down the Ctrl (copy), Shift (Move) or Alt (link) button. Default: Move.
   * "Paste subtree Here as Linked nodes" -> Shift+Ctrl+V
   * Added new entry in "Add node": "Add Parent" -> Creates a node as parent of selected one and its next siblings
   * When copying nodes/subtrees hidden nodes will also be included

   * "Mirror Node" becomes "Linked node"
    - The entry "Navigate to non Virtual" is replaced by "Navigate to next linked node"
   * When you copy virtual nodes (linked to files on disk), paste, or drag, they will be pasted as linked nodes.
   * Fixed: When importing virtual notes via Merge Folders... they are now kept as virtual notes (or become linked nodes
     if a node linked to the same file already exists). Previously, the content of those notes was copied and the link
     was broken.

* When dragging image files (also File | Import...): The Linked Image option is offered not only in Insert Content,
  but also in Import as node and Import as Folder
* When dragging a file into the tree, Import as tree nodes will be offered as the default option.
* Fixed: after dragging an image and importing it as a new node, if no changes were made and another node was
  selected, the image was lost and deleted from the node. 
* Tree context menu:
 - Reordering of items
 - Virtual nodes (to disk) and linked nodes (with more than 1 NNode per note) are checked


- - -
* Added new TREE FILTERING
  Buttons of "Tree toolbar" are now part of the tree panel, where a new textbox have been added.
  This textbox allows to filter the nodes based (for now) on its name, with the configuration:
  Match case: False, Whole words only: False, Search hidden nodes: False, All the words

  This tree filter can be combined with filtering based on the search panel (Find All)
  Tree panel filtering (based on the search panel and/or tree textbox) can be temporarily disabled
  (while highlighted the results) with "Filter nodes" button.
  
  Tree filter position is adapted to tree panel layout: If the tree layout is vertical, the tree filter panel is located
  on the right, not taking up the entire width of the tree (except if the width of the tree panel is less than a certain value).

* 'Tree filtering'. It is possible to use the last modification date, with a simple syntax

  It can be useful to be able to filter the tree by showing nodes that were modified (or created) during the current day
  or since the last X days. This can be done very easily by specifying in the first characters of the search string
  an expression of the form "-<number days back>"

  Example. If current day is '15/10/2024' then:
    '-2' is equivalent to [Last Modified] >= '13/10/2024'
    '-0' is equivalent to [Last Modified] >= '15/10/2024'  (modified on current day)
    '-0 something'  -> nodes modified on current day that includes 'something' in their names (ignoring case)

     The filter text box will remind us of the date considered, showing a hint of the format:
       Last modified >= "15/10/2024"

  If enclosed in "" it will managed as a normal text pattern:
   '"-2"' will look for '-2'

  This will also work with Find All.


* Filter matches won't be saved in read only folders.
* Filtering on a readonly folder will not set the file as modified
* On file loading, with not readonly folders:
  If filtering was applied, keep the matches (and node highlighting), but keep the filter disabled by default


- - -
* Two OPTIONAL COLUMNS added to the tree panel: 'Flagged' and 'Date' (Note creation date)
  A new option has been added to the tree context menu, to be able to mark the selected node(s)
  as Flagged. It is also possible to toggle the flagged mark by clicking on the column corresponding
  to the node.
  In addition to highlighting in the context menu if a node is Flagged, an icon is also displayed
  in the corresponding column (if visible).
  The new columns can be made visible from F4 or F6 (Folder properties..), one or both.
  Once visible, it is possible to reorder them. The resulting position will also be saved in the file.

* Added option to tree panel context menu to toggle display of optional columns
  View / Filter -> Show columns
  The width of the tree panel will be reduced or increased depending on which columns are made visible
  or hidden. These changes to the display of the tree panel are not persisted when saving.
  To configure if any of the additional columns must be shown by default  -> Folder properties..
   
- - -
* Added option to tree panel context menu to filter out unflagged nodes
  View / Filter -> Filter out unflagged
  This option is considered in conjunction with the existing tree filter and the search filter (if any).
  Also: if you change the Flag on the selected node with CTRL+click (in the tree column or in the menu entry, 'Flagged'),
  the 'Filter unflagged' will also be toggled on or off.
  This way, for example, if there are no flagged nodes, CTRL+clicking on the marked column (if visible) of a node will
  mark the selected node as marked and hide all other nodes.

* Added a toolbar button to toggle on or off 'Filter unflagged'
  The button (and also the entry in the tree context menu) is now disabled when there are no flagged nodes.

* Shift+Click on 'Flagged' menu entry (or on its column in the tree) will clear all flags in the folder
  Pressing Shift+Click on the 'Flagged' menu entry (or its column in the tree) will remove all flags from the nodes (in the folder)

- - -
* Added new filtering option, saved in .INI, ShowChildren (show children of matching nodes) (default False)

  When filtering, nodes that are matching are highlighted in light yellow (+). A parent node may be visible
  because one of its children is a match, but it may also be a match itself, and be highlighted in yellow.
  By default, with the ShowChildren property set to False, when filtering the tree only the nodes that
  satisfy the conditions (highlighted in yellow) are shown, as well as their parents.

  If the ShowChildren property = True, the children of all matching nodes will also be made visible
  (highlighted in yellow).
  This allows, for example, to select one or more nodes using Filter Out Flagged, while at the same
  time leaving their child nodes visible as well.

  This makes it possible to obtain a functionality similar to what in some applications is called 'Hoist',
  allowing to focus on a specific part of the note list tree.

   (+) The description corresponds to Tree Filtering. If the filtering is done from Find All, the matching
       nodes are highlighted with a blue font. But the above applies equally: depending on that option, the
	   children of these matching nodes will be shown or not.

* Added options to tree panel context menu:
    View / Filter -> Use path of nodes
                  -> Show children
  If either of these two options is changed and the current folder tree is filtered, it will be reapplied
  with the new options set.

- - -
* Using 'Filter out unflagged' with ShowChildren=True will assume children of flagged node are also flagged.

  For example, let's suppose the following hierarchy of nodes, where we want to filter using Tree filtering

  Project_A
    Subject1
      ToDO
      Child A
	  Child B
	  ..
    Subject2

  Project_B
      ToDO
      Issue New
	  ..

  Project_C
      Other

  Suppose only Project_A is flagged

  1- If toggle on 'Filter out unflagged' with ShowChildren = False, then only "Project_A" will be visible.
  2- If now we type "child" as filtering text, no node will be visible.

  However, if ShowChildren = True then the first step will show "Project_A" with all its nodes ("Project_A"
  will be highlighted in ligth yellow), and the second step will also show "Project_A" with all
  its nodes, and "Child A" and "Child B" will be highlighted too.

  If "Project_B" is also flagged, and ShowChildren = True then the first step will show
  "Project_A" and "Project_B" will all their nodes. But second step will only show nodes of "Project_A".



----------------
FIND ALL
================

* Find All: After applying 'Filter nodes' it is possible to toggle whether or not to activate that filter.
 - Until now, after clicking on the Filter button in the Tree toolbar, the filter was removed and the filtered nodes
   were displayed. Now the selection derived from the search is not deleted, it is possible to toggle between showing
   all the nodes or only the unfiltered ones using the Filter nodes button.
 - It is possible to combine filtering based on the search panel (Find All) with another that will be offered
   at the level of each tree   
 - Changed location of '999 matches' label (and ^ v buttons)

* Changed the way Find filter is cleared
  Instead of unchecking "Filter folder" in Find All panel, the find filter applied
  can be cleared with Ctrl+Click on "Filter nodes" button, in tree panel.
  (the tree filter appplied, if any, is not affected)
  This way, it is possible to keep the find filter applied or disabled while continuing
  to use Find All (with 'Filter Filter' unchecked)
  * Also: Deactivating the filter button clears the Find All filter if it did not return any results


- If Find All is used with "Filter folder", and Tree toolbar is not visible then
  "Show Tree Toolbar" will automatically activated, so you can disable or clear find filter applied.

* Added options to the search panel (Find All): creation date / last modification date   (From / Until)

* Running Find All without adding any text is allowed, as long as some date criteria is set
* Find All: searching using date. Ignore nodes missing creation date or last modification

- - - -
* Added new search option, saved in .INI: Use path of nodes (SearchPathInNodeNames) (default False)

  Allows to indicate whether when searching in the name of the nodes only the node itself should be considered
  or the complete path should be used, that is, the names of the ancestors.
  Until now, the search has always been done exclusively in the name of the node itself.

  This new option can be set from the Find All panel, and will be used both in these searches and in the
  filters made from the tree itself (Tree filtering)

  I have included this option because, especially now that it is possible to search or filter based on the dates
  of creation or last modification of the nodes, it is interesting to be able to combine the date criterion
  with a filter based on the name of the nodes that allows selecting nodes based on its own dates (creation and
  or last modification) and the names of their parents.
  For example, let's suppose the following hierarchy of nodes, where we want to filter using Tree filtering (*)

  Project_A
    Subject1
      ToDO
      Child A
	  ..
    Subject2

  Project_B
      ToDO
      Issue New
	  ..

  where nodes 'ToDO' have been modified today, and 'Child A' has been created today.

  Searching for '-0' would select both 'ToDO' nodes and the 'Child A' node. If we wanted to focus on everything
  related to "Project_A" we could search for '-0 Project_A', which would select the first ToDO node and the 'Child A' node.
  If we searched for '-0 Project_A TODO' (or '-0 ToDO Project_A' for example), only the first 'ToDO' node would be selected.
  This is because this way, considering the path (with the names of the parents), the selected nodes
  would meet both criteria, date and text.

  (*) From Find All it would be similar, taking into account that this new option will only be considered if
   the selected search scope is ‘Only node name’ or ‘All’. From Find All it is also possible to configure other search
   criteria: match case, whole word only, search type (exact phrase, all the words, any of the words). In tree filtering
   these criteria are set to: match case = false, whole word only = False, search type = all the words

- - - -
* Find All: Clicking in a search result will iterate the different words of the match
  With each consecutive click, each of the words that were considered when adding the match to
  the list of results will be selected

- - - -
* Find All: we can indicate whether some of the words to be searched for must be in the same paragraph or sentence

  - By default, separating words with spaces means that they can be found anywhere, there is no restriction
    on the distance between them
  - If two or more words are separated by "...", they must all be located in the same paragraph to be recognized as a match.
  - If two or more words are separated by "..", they must all be located in the same sentence to be recognized as a match.
     Sentences are understood to be separated by a period and at least one space or by a period and a tabulation sign,
     or by a line break or a column separator in a table.

  - If there are more than two words joined with ".." or "..." only the first separator will be considered. The rest
    should be the same, and if they are not, they are forced.
    For example, searching for something like [w1..w2...w3 w4] will be equivalent to [w1..w2..w3 w4]

   - The order in which the words are joined is not important. Searching for [w1..w2] is the same as searching for [w2..w1]

   - If you need to search for the separator characters themselves, they should be enclosed in quotes and will be treated
     as normal text to search for. Ex: "w1..w2"

   - This restriction on distance or separation between words can be used with both the 'All' method (All the words)
     and the 'Any' method (Any of the words).
     Even if it is the 'Any' method, all words linked by distance (.. or ...) must be found to be considered a match.

  Example:

     Looking for:   w1...w2..w3 w4..w5 w6
      w1, w2 and w3 must be located within the same paragraph; w4 and w5 must be found within the same sentence, which
      may or may not be within the same paragraph in which w1, w2 and w3 were found; w6 must be found in the note
      but anywhere in it.

- - - - -  
* Find All: we can indicate if the words must be emphasized, or also inside a same paragraph

 * If the '*' character is found individually, it will mean that the words to be searched for must be emphasized:
   bold, underlined or highlighted.

   Example: [* text plain]

 * If the modifier '**' is found, all words must be located in the same paragraph or in the name of a note.
   In addition, all words in that paragraph must be emphasized: in bold, underlined or highlighted, or with a font size 
   larger than the words in the following paragraph (the first characters after the line break will be ignored in case
   any additional line break was added with the same font size).
   - All this will be checked at least on the first and last word searched as well as the beginning and end of the paragraph
   - Note: words underlined as a result of containing hyperlinks won't be not considered emphasized.
   - Note: when this modifier is found, search scope used will be ssContentsAndNodeName (ignoring the current selection
     of this group box)
   - If a note/node name could be matched, and the same paragraph is used at the beginning of the note content,
     also as a match, then only the latter will be included in the results list.

   The idea is to use this modifier to locate the headings or sections in which the concepts or topics we are interested in
   can be defined. These will normally be in a single sentence, but paragraph mode is used because sometimes small sentences
   can be used together, e.g.: "Options in Exporting. Examples"

   Examples: [** images] [** keyboard short] [** example export]

- - - - -
* Find All: Revised the way 'All the words' search type works  (and some optimizations)
  
  Within the search in a note (Node) KNT will change internally to 'Any of the words' mode from
  'All the words' after the first match to allow locating and offering more useful results.
  Let's suppose that we search for something like: [w1..w2 w3] (or simply [w1 w2 w3]
  and we do it in a note with a text of the form:
             ... w2 ... w1
             ....... w3 ...
             ...
             ... w1 ... w2 ...
  
  So far we have only been returning as a match the one that includes from the first w2
  to w3. Since there are no more w3, the final terms, w1 and w2 are ignored because from the
  final position of the last match (w3) we cannot find all the terms again.
  But why are the first ones (w2 .. w1) going to be more significant than the second ones (w1 .. w2)?
  We will surely be interested in knowing about the latter as well.

  The nature of the 'All the words' method is maintained in the sense that we are offering all
  these matches within this note because all the searched terms are found in it.
  From that moment on, and once verified, we are interested in showing all the terms in the same
  way as we do with 'Any of the words', including several terms together in the same match if
  they are close and can be offered in the same extract.

  If the text were as follows, we will still return the two pairs w1, w2.
  The number of results may vary slightly depending on whether or not the word w3
  has been displayed in any previous result.
  
            ... w2 ... w1
            ...
            ... w1 ... w2 ..
            .... w3 ...
  
  - Also: Incorporated some improvement or optimization in the search process as well as in the identification of the extract to be offered
